iT邦幫忙

2023 iThome 鐵人賽

DAY 26
0
Mobile Development

Spring Boot & Android Studio教學系列 第 26

淺談Dockerfile:逐步學習容器映像建構

  • 分享至 

  • xImage
  •  

生成jar

點選右上角的 Maven 點選 package 就可以生成此專案的jar檔案了

點選後會發現 Project 會多出一個target的資料夾裡面會有jar

創建Dockerfile

創建一個當名為Dockerfile的檔案

Dockerfile

# 使用OpenJDK 17映像檔作為基礎映像檔
FROM openjdk:17

# 設定工作目錄為/app
WORKDIR /app

# 將本機目錄下的Spring Boot應用程式可執行JAR複製到容器中
COPY target/SpringBootEx-0.0.1-SNAPSHOT.jar app.jar

# 定義ENTRYPOINT指令以運行Spring Boot應用程式
RUN ["java", "-jar", "app.jar"]

常見使用情況

Dockerfile通常用於定義Docker容器映像的構建過程。當你希望將應用程序或服務打包到Docker容器中時,你會使用Dockerfile。以下是一些常見的情況:

部署應用程序:

如果你有一個應用程序,例如Spring Boot應用程序,你可以使用Dockerfile將它打包到Docker容器中,這樣你就可以在不同的環境中輕松部署它,而不必擔心底層環境的不同之處。

微服務架構:

在微服務架構中,每個服務通常被封裝在一個Docker容器中。Dockerfile用於定義每個服務的映像,使它們可以獨立地部署和運行。

測試環境:

Docker容器可以用於創建一個與生產環境相似的測試環境,以確保應用程序在不同環境中運行正常。Dockerfile可用於定義測試容器的構建方式。

持續集成/持續部署 (CI/CD):

在CI/CD流水線中,Docker容器通常用於構建、測試和部署應用程序。Dockerfile定義了應用程序映像的構建方式。

分發複雜環境:

如果你需要在不同的環境中分發複雜的應用程序或服務,Docker容器可以幫助確保這些環境的一致性。

執行

要使用Dockerfile來構建Docker容器映像,你需要在包含Dockerfile的目錄中運行docker build命令。以下是一個簡單的示例:

首先,確保你的Dockerfile已經被創建在你的應用程序項目目錄中。
在終端中,切換到包含Dockerfile的目錄。

使用以下命令構建Docker容器映像:

docker build -t <映像名稱> .

<映像名稱> 是你想要給映像取的名稱,可以自行指定,例如 my-spring-app。
最後的句點 . 指定了Dockerfile所在的當前目錄。
Docker將根據Dockerfile中的指令開始構建映像。這可能需要一些時間,具體取決於映像的大小和Dockerfile中的操作。

完成後打開Docker 就可以看見剛剛打包的image

最後你可以使用Docker點選直接啟動或是使用以下命令運行新創建的Docker容器:

docker run -d <映像名稱>

<映像名稱> 是你在構建映像時指定的名稱。
如果一切正常,你的Spring Boot應用程序將在新容器中運行。

注意:在執行docker build命令之前,確保你已經安裝了Docker並且Docker服務正在運行。此外,確保Dockerfile中的路徑和檔案名稱都正確。如果Dockerfile所需的其他文件位於與Dockerfile相同的目錄中,它們也將被包含在映像中。


上一篇
在Spring Boot中使用HiveMQ MQTT Client實現MQTT通信
下一篇
Docker Compose入門指南
系列文
Spring Boot & Android Studio教學30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言